package br.com.treinamento.gestaoExperienciaProfissional.validator;

import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.validator.FacesValidator;
import javax.faces.validator.Validator;
import javax.faces.validator.ValidatorException;

import org.primefaces.model.DefaultUploadedFile;

import com.google.common.base.Strings;

import br.com.treinamento.gestaoExperienciaProfissional.util.ArquivoUtil;

@FacesValidator("extensaoValidator")
public class ExtensaoValidator implements Validator {

	@Override
	public void validate(FacesContext context, UIComponent component, Object value) throws ValidatorException {
		DefaultUploadedFile defaultUploadedFile = (DefaultUploadedFile)value;
		String extensao = ArquivoUtil.recuperarExtensao(defaultUploadedFile.getFileName());
		if(!Strings.isNullOrEmpty(extensao)&&!ArquivoUtil.validaExtensaoImagem(extensao)){
			FacesMessage msg = new FacesMessage("msg.extensaoInvalida", "msg.extensoesPermitidas");
			msg.setSeverity(FacesMessage.SEVERITY_ERROR);
			throw new ValidatorException(msg);			
		}		
	}

}